<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/javascript">
      /* 
        Date对象
          - 在JS中使用Date对象来表示一个时间
      */
      //创建一个Date对象
      //如果直接使用构造函数创建一个Date对象,则会封装当前代码执行的时间
      var d = new Date();

      console.log(d);
      //创建一个指定的时间对象
      //需要在构造函数中传递一个表示时间的字符串作为参数
      //日期的格式 月份/日/年 时:分:秒
      var d2 = new Date('12/03/2016 11:10:30');
      console.log(d2);

      /* 
        getDate()
          - 过去当前日期是几日
      */
      var date = d2.getDate();

      console.log('date = ' + date);

      /* 
        getDay()
          - 获取当前日期对象是周几
          - 会返回一个0-6的值
            0表示周日
            1表示周一
            。。。
      */
      var day = d2.getDay();

      console.log('date = ' + date);

      /* 
        getMonth()
          - 获取当前时间对象的月份
          - 会返回一个0-11的值
              0 表示 1月
              1 表示 2月
              11 表示12 月
      */
      console.log(d2.getMonth() + 1); //转换为中国的月份

      /* 
        getFullYear()
          - 获取当前日期对象的年份
      */
      console.log(d2.getFullYear());

      /* 
        getHours(),getMinutes(),getSeconds()获取小时,分钟,秒
      */
      console.log(new Date().getHours());

      /* 
        getTime()
          - 获取当前日期对象的时间戳
          - 时间戳,指的是从格林威治标准时间1970年1月1日,0时0分0秒
              到当前日期所花费的毫秒数(1秒 = 1000毫秒)

          - 因为什么天,月,日,各个地区格式都不一样,所以统一转化成这种毫秒的时间戳

          - 计算机底层在保持时间时使用的都是时间戳
      */
      var time = d2.getTime();

      console.log(time / 1000 / 60 / 24 / 365);

      var d3 = new Date('1/1/1970 0:0:0');
      time = d3.getTime();
      console.log(d3);

      //利用时间戳测试代码执行的性能
      //获取当前的时间戳
      time = Date.now();

      for (var i = 0; i < 100; i++) {
        console.log(i);
      }

      var end = time = Date.now();
      console.log(end - time);
    </script>
  </head>
  <body></body>
</html>
